package com.luoran.bartalks.service;

import java.util.List;

import org.beetl.sql.core.engine.PageQuery;

import com.alibaba.fastjson.JSONObject;
import com.luoran.bartalks.entity.BaseInfo;
import com.luoran.bartalks.entity.biz.BtCodingRule;
import com.luoran.bartalks.utils.EnumBillType;

public interface IBtCodingRuleService {

	//分页接口
	PageQuery<? extends BaseInfo> getQueryList(PageQuery<? extends BaseInfo> pageQuery);

	//新增
	boolean smartCreate(List<BtCodingRule> insertList,List<BtCodingRule> updataList);
	
	//新增
	String addCodingRule(BtCodingRule codingRule);

	//查询一条
	BtCodingRule getCodingRule(String id);

	//生成编码接口
	public JSONObject generateCoding(EnumBillType billType,String companyId);

	//停用查询到的启用的规则
	void closeStartedRule(String billType, String companyId);

	//更新状态,启用停用
	int updateCodingRule(BtCodingRule codingRule);

	//编辑.
	int editCodingRule(BtCodingRule codingRule);
	
	//根据公司查询所有的编码规则
	List<BtCodingRule> getAllByCompanyId(String companyId);

	//查询当前单据启用的编码规则的条数
	List<BtCodingRule> checkCodingRule(String billType, String companyId);
	
	//查询模板公司启用的编码规则
	List<BtCodingRule> getcodingRuleStencilList(String companyId);

	//删除公司所有的编码规则.在初始化的时候调用
	void deleteRulesByCompanyId(String companyId);
}
